//Set 本身是一个构造函数 用来生成Set构造函数
const s = new Set();
//可以接受一个数组作为参数，用来初始化
const s1 = new Set([1, 2, 3, 3, 3]);
console.log(s1); //Set(3) { 1, 2, 3 }

/* 最主要的应用就是数组去重 */

let arr = [1, 3, 2, 1, 1, 23, 3, 2, 2, 5]
const sa = [...(new Set(arr))];
console.log(sa); //[ 1, 3, 2, 23, 5 ]

//Set 数据结构实例方法
//add(value) :添加某个值，返回Set结构本身
//delete(value)：删除某个值，返回一个布尔值，表示删除成功与否
//has(value)：返回一个布尔值，表示该值是否为Set的成员
//clear()：清除所有成员，没有返回值
const s2 = new Set();
s2.add('a').add('b');
console.log(s2.size); //2

const r1 = s2.delete('c');
console.log(r1); //false


const r2 = s2.has('a');
console.log(r2); //true

s2.clear()
console.log(s2.size); //0

/*  遍历Set数据结构 */
//forEach() 方法用于遍历，没有返回值
sa.forEach(value => console.log(value));
/*
1
3
2
23
5
*/